/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fpuna.ia.ea;


import fpuna.ia.ea.instancia.Instancia;
/**
 *
 * @author gusamasan
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
    // ------------------------------------------------------------------------

        int fila, columna, cantidadLocalidades, cantidadFilas;

        double  matrizAdyacencia[][];

        Instancia   instanciaTSP, instanciaQAP;

    // ------------------------------------------------------------------------

        instanciaTSP        = new Instancia();
        instanciaQAP        = new Instancia();

        /*
        instanciaTSP.cargarInstanciaTSP( Instancia.ARCHIVO_KROAC100_TSP );

        matrizAdyacencia    = instanciaTSP.obtenerMObjetivoUno();

        cantidadFilas       = instanciaTSP.obtenerCantidadCiudades();

        System.out.println( "**** OBJETIVO UNO ********" );
        for( fila=0; fila < cantidadFilas; fila++ ){
            System.out.println( "//////////////////////////" );
            for( columna=0; columna < cantidadFilas; columna++ ){
                System.out.print( ", " + matrizAdyacencia[ fila ][ columna ] );
            }
        }

        matrizAdyacencia    = instanciaTSP.obtenerMObjetivoDos();

        System.out.println( "**** OBJETIVO DOS ********" );
        for( fila=0; fila < cantidadFilas; fila++ ){
            System.out.println( "//////////////////////////" );
            for( columna=0; columna < cantidadFilas; columna++ ){
                System.out.print( ", " + matrizAdyacencia[ fila ][ columna ] );
            }
        }
         *
         */

        
        instanciaQAP.cargarInstanciaQAP( Instancia.ARCHIVO_QAP7501_QAP );
        
        cantidadFilas       = instanciaQAP.obtenerCantidadLocalidades();
        
        
        matrizAdyacencia    = instanciaQAP.obtenerMObjetivoUno();

        
        System.out.println( "**** OBJETIVO UNO ********" );
        for( fila=0; fila < cantidadFilas; fila++ ){
            System.out.println( "//////////////////////////" );
            for( columna=0; columna < cantidadFilas; columna++ ){
                System.out.print( ", " + matrizAdyacencia[ fila ][ columna ] );
            }
        }

         System.out.println( "datos: " + matrizAdyacencia[40][70] + "***" + matrizAdyacencia[70][40] );

        matrizAdyacencia    = instanciaQAP.obtenerMObjetivoDos();

        System.out.println( "**** OBJETIVO DOS ********" );
        for( fila=0; fila < cantidadFilas; fila++ ){
            System.out.println( "//////////////////////////" );
            for( columna=0; columna < cantidadFilas; columna++ ){
                System.out.print( ", " + matrizAdyacencia[ fila ][ columna ] );
            }
        }
        System.out.println( "datos: " + matrizAdyacencia[40][70] + "***" + matrizAdyacencia[70][40] );

        matrizAdyacencia    = instanciaQAP.obtenerMDistancias();

        System.out.println( "**** DISTANCIA ********" );
        for( fila=0; fila < cantidadFilas; fila++ ){
            System.out.println( "//////////////////////////" );
            for( columna=0; columna < cantidadFilas; columna++ ){
                System.out.print( ", " + matrizAdyacencia[ fila ][ columna ] );
            }
        }

        System.out.println( "datos: " + matrizAdyacencia[40][70] + "***" + matrizAdyacencia[70][40] );
        //System.out.println( "datos: " + matrizAdyacencia[0][74] + "***" + matrizAdyacencia[74][0] );
        
    }

}
